import argparse
import os

import CasModel
import preprocess

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="parameters of neural network")
    parser.add_argument('--root-path', type=str)
    parser.add_argument('--global-graph-path', type=str, default='data/raw_data/global_graph.txt')
    parser.add_argument('--data-dir', type=str, default='data')
    parser.add_argument('--rawdata-dir', type=str, default='raw_data')
    parser.add_argument('--preprocess-dir', type=str, default='preprocess_data')
    parser.add_argument('--data-prefix', type=str, default='cascade_')
    parser.add_argument('--data-postfix', type=list, default=['train', 'val', 'test'])
    parser.add_argument('--num-nodes', type=int)
    parser.add_argument('--embedding-dim', type=int, default=256)
    parser.add_argument('--hidden-size', type=int, default=256)
    parser.add_argument('--hidden-layers', type=int, default=2)
    parser.add_argument('--learn-rate', type=float, default=1e-3)
    parser.add_argument('--p', type=float, default=1.0)
    parser.add_argument('--q', type=float, default=1.0)
    parser.add_argument('--walk-length', type=int, default=10)
    parser.add_argument('--mini-batch-size', type=int, default=10)
    parser.add_argument('--walk-count', type=int, default=200)
    parser.add_argument('--weight-type', type=str, default='edge_weight')
    # parser.add_argument('--')
    args = parser.parse_args()
    args.root_path = os.path.dirname(os.path.abspath(__file__))
    args.global_graph_path = os.path.abspath(args.global_graph_path)
    # print(args.global_graph_path, args.root_path)
    preprocess.preprocess(args)
    CasModel.run(args)
    # print('hello {} {}'.format(args.name, args.year))
    # argparse.Namespace
